package algorithm;

/**
 * 给定一个数组 nums 和一个值 val，你需要原地移除所有数值等于 val 的元素，返回移除后数组的新长度。
 * @author rongkai
 * @description:
 * @date 2021/3/7
 */
public class Solution5 {

    public static void main(String[] args) {
        int[] array = {1,3,5,7,9};
        int val = 7;
        solution(array,val);
        for (int i : array) {
            System.out.println(i);
        }
    }

    /**
     * 借助另一个指针，当指针指向的值不相等时就赋值否则就跳过
     * @param nums
     * @param val
     * @return
     */
    public static int solution(int[] nums,int val){
        int replacePosition = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[replacePosition] = nums[i];
                replacePosition++;
            }
        }
        return replacePosition;
    }
}
